package com.tjsiqi.dao;

import com.tjsiqi.Vo.*;
import com.tjsiqi.beans.PageQuery;
import com.tjsiqi.dto.WeighCountDto;
import com.tjsiqi.dto.WeighCountDtoM;
import com.tjsiqi.model.GybWeighRecord;
import com.tjsiqi.model.GybWeighRecordEXP;
import com.tjsiqi.model.GybWeighRecordKey;
import com.tjsiqi.param.WeighCountParam;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface GybWeighRecordMapper {
    int deleteByPrimaryKey(GybWeighRecordKey key);

    int insert(GybWeighRecord record);

    int insertSelective(GybWeighRecord record);

    GybWeighRecord selectByPrimaryKey(GybWeighRecordKey key);

    int updateByPrimaryKeySelective(GybWeighRecord record);

    int updateByPrimaryKey(GybWeighRecord record);

    List<WeighProUnitVo> getPageListByProUnit(@Param("weighCountDto") WeighCountDto weighCountDto, @Param("page") PageQuery page);

    int getWeighCountByProUnit(@Param("weighCountDto")WeighCountDto weighCountDto);

    List<WeighTruckVo> getPageListByTruck(@Param("weighCountDto")WeighCountDto weighCountDto, @Param("page")PageQuery page);

    int getWeighCountByTruck(@Param("weighCountDto")WeighCountDto weighCountDto);

    int getWeighCountByStorage(@Param("weighCountDto")WeighCountDto weighCountDto);

    List<WeighStorageVo> getPageListByStorage(@Param("weighCountDto")WeighCountDto weighCountDto, @Param("page")PageQuery page);

    int getWeighCountByName(@Param("weighCountDto")WeighCountDto weighCountDto);

    List<WeighNameVo> getPageListByName(@Param("weighCountDto")WeighCountDto weighCountDto, @Param("page")PageQuery page);

    int getWeighOrder(@Param("weighCountDto")WeighCountDto weighCountDto);

    List<GybWeighRecord> getPageList(@Param("weighCountDto")WeighCountDto weighCountDto, @Param("page")PageQuery page);

    List<GybWeighRecordEXP> exportByParam(@Param("weighCountDto")WeighCountDto weighCountDto);

    int getWeighCountByProvideUnit(@Param("weighCountDtoM")WeighCountDtoM weighCountDtoM);

    List<WeighProvideUnitVo> getPageListByProvideUnit(@Param("weighCountDtoM")WeighCountDtoM weighCountDtoM, @Param("page")PageQuery page);

    int getWeighCountByWeightTruck(@Param("weighCountDtoM")WeighCountDtoM weighCountDtoM);

    List<WeighTruckMVo> getPageListByWeightTruck(@Param("weighCountDtoM")WeighCountDtoM weighCountDtoM, @Param("page")PageQuery page);

    int getWeighCountByWeightGoodsName(@Param("weighCountDtoM")WeighCountDtoM weighCountDtoM);

    List<WeighGoodsNameVo> getPageListByWeightGoodsName(@Param("weighCountDtoM")WeighCountDtoM weighCountDtoM, @Param("page")PageQuery page);

    int getWeighCountByWeightSendUnit(@Param("weighCountDtoM")WeighCountDtoM weighCountDtoM);

    List<WeighSendUnitVo> getPageListByWeightSendUnit(@Param("weighCountDtoM")WeighCountDtoM weighCountDtoM, @Param("page")PageQuery page);

    int removeByParam(@Param("weighCountParam") WeighCountParam weighCountParam);
}